package sv.gob.mh.dgii.security.mantto.comparator;

import java.util.Comparator;
import sv.gob.mh.dgii.model.AsOpcion;

public class AsOpcionComparator implements Comparator<AsOpcion> {

    private int type;

    public AsOpcionComparator(int type) {
        this.type = type;
    }
    /*
     Condición 	Valor que debe devolver
     o1 < o2  ... un número menor a cero
     o1 == o2 ... cero
     o1 > o2  ... un número mayor a cero
     */

    @Override
    public int compare(AsOpcion o1, AsOpcion o2) {
        int ret = 0;
        if (o1 != null) {
            if (o2 != null) {
                String co1 = null;
                String co2 = null;
                if (type == 1) {
                    co1 = o1.getSmodulo();
                    co2 = o2.getSmodulo();
                } else if(type==2){
                    co1 = o1.getSopcion();
                    co2 = o2.getSopcion();
                } else if(type==3){
                    
                }
                if (co1 != null) {
                    if (co1 instanceof String) {
                        ret = co1.compareTo(co2);
                    }
                } else if (co2 != null) {
                    ret = -1;
                }
            } else {
                ret = 1;
            }
        } else if (o2 != null) {
            ret = -1;
        }
        return ret;
    }

    /**
     * @return the type
     */
    public int getType() {
        return type;
    }

    /**
     * @param type the type to set
     */
    public void setType(int type) {
        this.type = type;
    }
}
